package com.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.project.bean.OutboundOrderBean;

import java.time.LocalDate;

/**
 * 出库订单 业务方法
 */
public interface IOutboundOrderService {


    /** 销售商品出库
     *  1、添加销售基本信息
     *  2、根据销售员id查询销售车信息集合
     *  3、遍历销售车集合，循环添加销售明细，循环修改库存数量（累减）
     *  4、根据销售员id 清空销售车
     * @param outboundOrderBean 出库销售信息对象
     */
    void out(OutboundOrderBean outboundOrderBean);



    /**  动态分页查询销售信息表
     *
     * @param pageNO    页码
     * @param name  客户名称
     * @param startDate 起始日期
     * @param endDate   结束日期
     * @return  销售信息分页对象
     */
    IPage<OutboundOrderBean> findByItem(Integer pageNO, String name,
                                        LocalDate startDate, LocalDate endDate);


    /** 通过销售订单ID，查询销售订单详情
     * 按销售订单id、查询销售详情。同时查询销售明细信息，在销售明细信息中，需要查询商品名称和品牌
     * @param id    销售订单ID。
     * @return  销售订单对象
     */
    OutboundOrderBean findById(Integer id);

}
